home *** CD-ROM | disk | FTP | other *** search
- /********************************************************* DEFINITION
- DATE: 9/17/93
- AUTHOR: Eric R. Rosé
-
- CLASS: CPPZone411
-
- SUPERCLASS: CPPPeriodicTask
-
- This class lets you look up zones on the network using
- either phase 1 or phase 2 appletalk
-
- ********************************************************************/
-
- #pragma once
-
- #include <CPPPeriodicTask.h>
- #include <Appletalk.h>
-
- typedef AddrBlock *AddrBlockPtr;
- typedef XCallParam *XCallPtr;
-
- class CPPStringList;
- class CPPTaskManager;
- class CPPMaBell;
- class CPPStringList;
-
- class CPPZone411 : public CPPPeriodicTask {
-
- public:
- CPPZone411 (CPPTaskManager *TaskManager,
- CPPMaBell *MaBell, long minPeriod = 120,
- Boolean deleteWhenDone = TRUE);
- ~CPPZone411 (void);
-
- virtual char *ClassName (void);
-
- virtual void DoPeriodicAction (void);
- virtual void DoCompletedAction (void);
-
- Boolean NthZone (long whichItem, Boolean getCopy, StringPtr *ZoneName);
- long NumZonesFound (Boolean *isDone);
-
- void StartZoneLookup (CompletionProc DoProc);
-
- StringPtr GetOurZoneName (OSErr *ErrCode);
- CPPStringList *GetFoundList (void);
-
- protected:
- CPPStringList *FoundList;
-
- private:
- CPPMaBell *MaBell;
- AddrBlockPtr BridgeAddress; // address of the local network bridge
- Boolean HaveNetwork; // TRUE if we are connected to a network
- short AtalkVersionNumber;
- short ZIPReferenceNumber;
-
- // used in phase 2 lookup
- XCallPtr myXPB;
-
- // used in phase 1 lookup
- ATPPBPtr myATP;
- BDSPtr myBDS;
- short StartFromZoneNum;
-
- Ptr returnBuffer;
-
- StringPtr GetZoneNamePhase1 (OSErr *ErrCode);
- StringPtr GetZoneNamePhase2 (OSErr *ErrCode);
-
- void SetBridgeAddress ();
-
- void ProcessZoneList (short HowManyReturned);
-
- void StartPhase2Lookup ();
- void Phase2PeriodicAction ();
-
- void StartPhase1Lookup ();
- void Phase1PeriodicAction ();
-
- };
-